#  numpy可以根据需求定义任何内容的矩阵
import numpy as np

# 构建全0矩阵
a1 = np.zeros((3, 3))  # 构建一个3行3列的全0矩阵
print(a1)

# 构建全1矩阵
a2 = np.ones((3, 3))  # 构建一个3行3列的全1矩阵
print(a2)

# 构建序列数据矩阵
# 构建一个从0到15的一维矩阵
# np.arange(起始下标位置,终点下标位置,步长) 将起点到终点位置之前的内容按照步长划分
a3 = np.arange(0, 16, 1)
print(a3.shape)  # (16,)
# 将一维矩阵变为二维矩阵
# reshape(形状)
a4 = a3.reshape(16, 1)
print(a4.shape)  # (16,1) 16行1列

a5 = a3.reshape(4, 4)
print(a5.shape)  # (4,4) 4行4列
print(a5)

# 构建一个随机数矩阵
a6 = np.random.rand(3, 3)  # 构建3行3列的随机数矩阵 （随机数介于0~1）
print(a6)

a7 = np.random.randint(0, 9, (3, 3))  # 构建3行3列的随机整数矩阵
print(a7)

# 构建一个随机正态分布矩阵
a8 = np.random.normal(0, 0.6, (3, 3))  # 构建3行3列的随机正态分布矩阵
print(a8)